System and Method for Device Context and Device Security

ABSTRACT

A system includes local area network (LAN) devices in communication with network devices external to the LAN. An agent in the LAN examines traffic between LAN devices and external devices. The agent executes scans of the LAN devices, generates fingerprint and telemetry data for the LAN devices, and sends the telemetry data and the fingerprint data to a cloud server external to the LAN. The cloud server receives telemetry data and fingerprint data and updates a device attribute database with fingerprints and/or device profiles for the LAN devices to identify anomalous behavior of the LAN devices.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of U.S.Non-Provisional patent application Ser. No. 16/237,946 filed Jan. 2,2019, entitled “System and Method for Device Context and DeviceSecurity,” which claims the benefit of U.S. Provisional PatentApplication Ser. No. 62/649,025, filed Mar. 28, 2018, both of which areincorporated by reference herein in its entirety.

FIELD OF THE INVENTION

The present invention relates to communication networks, and moreparticularly, is related to monitoring network security.

BACKGROUND OF THE INVENTION

Internet capable devices and appliances are becoming more common in thehome. In particular, internet of things (IoT) devices tend to havelimited processing and storage capacities, and may therefore havelimited internal security features. Any single device may be compromisedand/or attacked via a number of vectors on the home network (local areanetwork (LAN)) and the wide area network (WAN) that the home networkconnects with. Various methods have been used to prevent and mitigatethese network based attacks on all these varied types of devices.

The most common way to protect a home network today is a network addresstranslation (NAT) based firewall, for example, on a home network router,where devices within the LAN can communicate with the outside world (forexample, via the WAN) but the outside world cannot initiatecommunication with devices in the LAN. Other techniques include blockingtraffic to specific destinations based on a blacklist enforcing DomainName System (DNS) based and/or internet protocol (IP) based rules. Somefirewalls use deep packet inspection (DPI) to try to detect malicioustraffic which involves looking at the contents of some traffic todetermine if it is suspicious. However, NAT firewalls only blockconnections entering the LAN. It is possible to circumvent them bytricking a device or a person inside the LAN to connect to a malicioussite outside the LAN and then infect devices inside the LAN via thatoutgoing connection.

Another common technique is to use antivirus software on some of thedevices on the home network to protect those devices from infection.There are also device specific firewalls such as Little Snitch whichearmarks suspicious traffic and prompts the user to determine if trafficis to be blocked. However, antivirus solutions and device specificfirewalls generally only address personal computers, and may not befeasible on IoT devices. This technology is often “signature based,”looking for previously identified threats and does not identifyunique/new threats. Many devices on a home LAN today are not personalcomputers. Also, the high frequency of application based warning promptsmay de-sensitize users who may respond by clicking an “allow” box todismiss the annoying prompts, thus allowing malicious traffic.

Deep Packet Inspection (DPI) involves visibility into the contents ofpackets as they travel through a network. As companies continue toincrease their security to industry standards (using SSL and HTTPSencrypted traffic) DPI is generally not possible without installingspecial certificates on the devices within the LAN so that the trafficmay be decrypted. This process may pose a risk because it effectivelybreaks the security trust system designed by companies and is notpossible on most IoT devices as their core operating system functionsmay be protected by the vendor. Therefore, there is a need in theindustry to address one or more of these issues.

SUMMARY OF THE INVENTION

Embodiments of the present invention provide a system and method fordevice context and device security. Briefly described, the presentinvention is directed to a system includes local area network (LAN)devices in communication with network devices external to the LAN. Anagent in the LAN examines traffic between LAN devices and externaldevices. The agent executes scans of the LAN devices, generatesfingerprint and telemetry data for the LAN devices, and sends thetelemetry data and the fingerprint data to a cloud server external tothe LAN. The cloud server receives telemetry data and fingerprint dataand updates a device attribute database with fingerprints and/or deviceprofiles for the LAN devices to identify anomalous behavior of the LANdevices. The device attribute database includes the manufacturer, model,and type of each device on the LAN and the way each behaves.

Other systems, methods and features of the present invention will be orbecome apparent to one having ordinary skill in the art upon examiningthe following drawings and detailed description. It is intended that allsuch additional systems, methods, and features be included in thisdescription, be within the scope of the present invention and protectedby the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a furtherunderstanding of the invention, and are incorporated in and constitute apart of this specification. The drawings illustrate embodiments of theinvention and, together with the description, serve to explain theprincipals of the invention.

FIG. 1A is a schematic diagram of a first embodiment of a system for thepresent invention.

FIG. 1B is a schematic diagram of a second embodiment of a system forthe present invention.

FIG. 2 is a flowchart for an exemplary method embodiment forimplementing the functionality of the agent and/or the cloud server ofFIGS. 1A and 1B.

FIG. 3A is a flowchart illustrating a first sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3B is a flowchart illustrating a second sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3C is a flowchart illustrating a third sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3D is a flowchart illustrating a fourth sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3E is a flowchart illustrating a fifth sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3F is a flowchart illustrating a sixth sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3G is a flowchart illustrating a seventh sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3H is a flowchart illustrating an eighth sub-process of thefingerprint generation block of FIG. 2 .

FIG. 3I is a flowchart illustrating a ninth sub-process of thefingerprint generation block of FIG. 2 .

FIG. 4 is a schematic diagram illustrating an example of a system forexecuting functionality of the present invention.

FIG. 5 is a schematic diagram detailing the cloud server and agent ofFIGS. 1A and 1B.

DETAILED DESCRIPTION

The following definitions are useful for interpreting terms applied tofeatures of the embodiments disclosed herein, and are meant only todefine elements within the disclosure. No limitations on terms usedwithin the claims are intended, or should be derived, thereby. Termsused within the appended claims should only be limited by theircustomary meaning within the applicable arts.

As used within this disclosure, “telemetry” refers to a remote networkdata monitoring capability. The process used to monitor and/or collectthe network data may change depending upon the type of data beingmonitored. Telemetry is generally an automated communications process bywhich measurements and other data are collected at remote or difficultto access points and transmitted to receiving equipment for monitoring.

As used within this disclosure, “local” refers to a network entityaddressable within a LAN, while “remote” refers to a network entityhaving a network address outside the LAN.

As used within this disclosure, a “fingerprint” or “signature” refers toa pattern of activity and/or content in network traffic created by aparticular monitored device. The fingerprint may be detected, forexample, via telemetry, that may be used to identify a device and/orclass of devices, indicating specific characteristics of a monitoreddevice and/or behavior of the device. The fingerprinting process mayinclude examining a plurality of facets, where each facet includes oneor more device attributes, for example, indicating an identifying aspectof the device itself (such as a network address or hardware identifiersuch as a media access control (MAC) address). Furthermore, afingerprint may include a pattern of traffic and/or traffic content thatallows the embodiments to infer expected behavior for devices. Forexample, facets may be used to identify a type or classification ofdevice, where a fingerprint may be used to distinguish two differentdevices that share one or more facets.

As used within this disclosure, “periodicity” refers to a measure of howoften a network enabled device traffic to a particular destination.Periodicity may also measure the amount of traffic sent to thedestination.

Reference will now be made in detail to embodiments of the presentinvention, examples of which are illustrated in the accompanyingdrawings. Wherever possible, the same reference numbers are used in thedrawings and the description to refer to the same or like parts.

As noted in the background section, existing network based solutionsgenerally are not capable of identifying vulnerable IoT devices and/orother network devices. For example, existing network based solutions mayfail to profile network traffic and identify make/model/OS/firmwareversions of IoT devices, which limits the ability of the network basedsolutions to detect vulnerabilities. This also inhibits the ability ofthe network based solutions to detect and protect against attacks.

FIG. 1A is a schematic diagram of an exemplary first embodiment system100 for the present invention. A wireless local area network (WLAN)router 110, for example, a data packet router, provides a WLAN 120 andexchanges data packets with n devices 131-136 communicating via the WLAN120. While FIG. 1A shows a WLAN 120, the embodiment is not restricted toa wireless local area network (LAN), and may also apply to a wired LANor a combination wired and wireless LAN.

An agent 115 may be an external network enabled device having aprocessor, a memory, and a network interface. Under the firstembodiment, the agent 115 is in communication with the WLAN router,while under a second embodiment (shown in FIG. 1B), the agent 115 may behosted by the WLAN router. The agent 115 provides telemetry services tomonitor traffic via the WLAN router 110 to/from each of the devices131-136. The agent 115 is configurable to examine certain types ofpackets, for example, DHCP packets, DNS packets, SSD packets, and MDNSpackets, among other packet types. The agent 115 may also be configuredto examine specific packet streams, for example, every packet streamwhich is defined by all packets sent to a particular destination IPaddress over some period of time, for example, 30 seconds. Here, theagent 115 records the source and destination IP addresses, the sourceMAC address, the corresponding DNS name of the destination, the IPprotocol, the number of packets sent, the number of bytes sent, and theduration of the stream, for example, 30 seconds or less. This istypically referred to as netflow data.

The WLAN router 110 provides a communication conduit where the devices131-136 may communicate with the other devices 131-136 within the WLAN120, and or with devices external to the WLAN 120, for example externaldevices 141, 142 in communication with the communication network 180.The communication network 180 may be, for example, the internet or awide area network (WAN).

The agent 115 communicates with a server, for example, a cloud server160, via the WLAN router 110. The agent 115 provides telemetryinformation regarding traffic to and/or from the devices 131 to thecloud server 160 so that the cloud server 160 may determinecharacteristics and/or the specific identity of one or more of thedevices 131-136. The telemetry information gathered by the agent 115 maybe used to configure a firewall 112 of the WLAN router 110, and/or anexternal firewall (not shown) elsewhere in the WLAN 120. While the firstembodiment shows a wireless LAN 120, alternative embodiments may insteadhave a wired LAN, or a combination of wireless and wired LANs.

As described further below, the agent 115 and/or the cloud server 160may be configured to provide device identification and/or fingerprintingof devices 131-136 based on traffic forwarded by the WLAN router 110,for example, providing a device profile identifier for one or more ofthe network devices 131-136 including a hardware make/model, operatingsystem (version number), classification of network traffic, and/orapplications run by the device. The agent 115, cloud server 160 anddevice ID, may be leveraged to detect physical layer, network layer, andapplication layer issues. This feature set may provide network operatorsinsight into the WLAN 120. Once one or more of the network devices131-136 has been identified and/or profiled, the firewall 112 may beconfigured to block specific traffic to/from one or more of the devices131-136. Similarly, the agent 115 may be configured to perform networksecurity scans to prevent/detect threats, for example, but not limitedto network traffic analysis, network segmentation, quality of servicenetwork prioritization, and network threat detection.

FIG. 1B is a schematic diagram of an exemplary second embodiment system102 of the present invention, where the agent 115 is implemented withinthe WLAN router 110, for example, as a hardware and/or software modulewithin the WLAN router.

FIG. 2 is a flowchart 200 for an exemplary method embodiment forimplementing the functionality of the agent 115 and/or the cloud server160 of FIG. 1 . It should be noted that any process descriptions orblocks in flowcharts should be understood as representing modules,segments, portions of code, or steps that include one or moreinstructions for implementing specific logical functions in the process,and alternative implementations are included within the scope of thepresent invention in which functions may be executed out of order fromthat shown or discussed, including substantially concurrently or inreverse order, depending on the functionality involved, as would beunderstood by those reasonably skilled in the art of the presentinvention. The description of the flowchart 200 references FIG. 1 andFIG. 5 .

The agent 115 collects the fingerprinting and/or telemetry data andforwards the fingerprinting and/or telemetry data to the cloud server160. The cloud server 160 receive the fingerprinting and/or telemetrydata from the agent 115 and launches a traffic analysis sub-process fora device 131-136 in the WLAN 120, as shown by block 210. Exemplarytraffic analysis sub-processes may be implemented by one or moretelemetry modules 540, 580 (FIG. 5 ), and are described in detail belowregarding FIGS. 3A-3I, where each sub-process of FIGS. 3A-3I is used toisolate one or more facets for identifying a device in the network. Afingerprint generation sub-process may be implemented by one or morefingerprint generation modules 545 (FIG. 5 ) that interacts with thetelemetry sub-process modules 540, 580 (FIG. 5 ) to generate afingerprint, as shown in block 300 (see FIGS. 3A-3I).

A weight is applied to the fingerprint, as shown by block 215. A weightmay indicate a degree of confidence in the strength and/or accuracy ofthe fingerprint. For example if the cloud server 160 receives SSDP dataand DHCP data, the fingerprint generation module 545 may weight thefingerprint generated by the S SDP data more heavily than the DHCP dataso if the DHCP data indicates the device is a Windows machine but theSSDP data indicates the device is Android the weighting will favor theinterpretation that the device is an Android device because that isweighted more.

The fingerprint is compared to a plurality of known fingerprints in adevice attribute database 530 (FIG. 5 ) to determine if the fingerprintmatches a known device fingerprint, as shown by block 220. If thefingerprint matches a known device fingerprint, device databaseattributes are applied to the fingerprint, as shown by block 230 (seeTable 1). The device attributes may include, for example, themanufacturer, model, and type of each device 131-136 and a correspondingbehavior profile, among other possible device attributes.

If the fingerprint does not match a known device fingerprint, such as ifthe fingerprint is for a new device, as shown by block 232, a new devicefingerprint is created, as shown by block 235. If the fingerprint is notfor a new device, the cloud server 160 records that it has detectedanomalous behavior for an existing device. For example, the cloud server160 may flag the anomalous behavior to perform further tests todetermine if the anomalous behavior is malicious. The agent 115 and/orthe cloud server 160 checks to see if the device 131-136 targeted by thetelemetry has been scanned recently, for example, by a network securityscan, as shown by block 240. If the device 131-136 targeted by thetelemetry has not been scanned recently, for example, within the last 24hours, the agent 115 and/or the cloud server 160 broadcasts one or morescans of the WLAN devices 131-136 by executing a scan module 560 (FIG. 5) to execute, for example, a multicast DNS (mDNS) scan and/or an OpenSimple Service Discovery Protocol (SSDP) scan, as shown by block 250.

The device database 530 may be located in the cloud server 160. Thedevice database 530 may include fingerprints derived from networkactivity as well as external data that is both manually andautomatically entered. Network activity may be used to fingerprintdevices. Such network activity may be, for example, an Apple TVreceiving 30 Mb of data from an Apple server over a period of 10minutes. The agent 115 learns the network activity fingerprints byrecording and analyzing the network behavior of new/unknown devices byexecuting one or more traffic analysis modules 575 (FIG. 5 ) as shown byblock 235. After the cloud server 160 has created a fingerprint, thefingerprint may be updated, for example, via manual intervention tocorrelate the fingerprint with a specific manufacturer and model.

FIGS. 3A-3I depict several exemplary sub-processes of the fingerprintgeneration block 300 (FIG. 2 ). The agent 115 executes each sub-processto test for a specific type of device (facet), for example, bycollecting a response to a protocol query (such as mDNS, SSDP, DHCP,among others) which may include analysis of the traffic content (packetpayload). Per FIG. 3A, connection telemetry is reduced by a remote DNS,as shown by block 310. Periodicity is generated per DNS, as shown byblock 320. The cloud server 160 receives telemetry data for a device131-136 and analyzes the traffic rates and data amounts per address. Forexample, the cloud server 160 may record how often a device 131-136sends and/or receives packets to/from nest.com. If the device exchangestraffic to and/or from nest.com every 23 hours, this represents aperiodicity of 23 hours to nest.com. A periodicity fingerprint isgenerated, as shown by block 330.

Per FIG. 3B, connection telemetry is reduced by remote DNS, as shown byblock 311. A destination fingerprint is generated, as shown by block331.

Per FIG. 3C, a DHCP renew negotiation is captured, as shown by block312. A DHCP fingerprint is generated, as shown by block 330.

Per FIG. 3D, a response from the mDNS scan (see block 250 (FIG. 2 )) isreceived, as shown by block 313. If the mDNS scan indicates that themDNS service is Spotify, as shown by block 323, the device 131-136 isscanned to determine if the device hosts a Spotify application, as shownby block 333. If the mDNS scan indicates that the mDNS service isNvidia, as shown by block 343, the device 131-136 is scanned for Nvidia,as shown by block 353. An mDNS fingerprint is generated, as shown byblock 363.

Per FIG. 3E, a response from the SSDP scan (see block 250 (FIG. 2 )) isreceived, as shown by block 314. An SSDP fingerprint is generated, asshown by block 334.

Per FIG. 3F, a response to an HTTP telemetry is received, as shown byblock 316. An HTTP fingerprint is generated, as shown by block 336.

Per FIG. 3G, a response to a hostname telemetry is received, as shown byblock 317. A hostname fingerprint is generated, as shown by block 337.

Per FIG. 3H, a response from the Spotify scan (see block 233 (FIG. 3D))is received, as shown by block 318. A Spotify fingerprint is generated,as shown by block 338.

Per FIG. 3I, a response from the nVidia scan (see block 253 (FIG. 3D))is received, as shown by block 319. An nVidia fingerprint is generated,as shown by block 339.

Each of the “Generate XXX fingerprint” blocks may generate a fingerprintby analyzing the traffic to associate a traffic pattern with a specificdevice, where XXX is periodicity (330), destination (331), DHCP (332),mDNS (363), SSDP (334), HTTP (336), hostname (337), Spotify (338), andnVidia (339).

Table 1 provides examples of each of the fingerprints described above.While FIGS. 3A-3I detail several exemplary sub-processes of thefingerprint generation block 300 (FIG. 2 ), other sub-processes are alsopossible.

TABLE 1 Examples of fingerprints IoT Database Type Match Data ProductProduct Type Attributes mDNS Ipps: usb_MDL: HP Officejet Printer Hasofficejet 5740 5740 series screen/ethernet/ series 802.11 b/g/n SSDPSonos Sonos Music Has PLAY: 5 PLAY: 5 speaker/ethernet 802.11 b/g DHCP 1121 3 6 15 119 MacOS Operating — 252 95 44 46 System Hostname Apple &/\A. Apple iPad Mobile device Mobile/802.11 *pad.*\z/ Periodicity Amazon& Amazon Echo Smart Speaker Has pindorama.amazon.com microphone/speaker/every 60 minutes ethernet/802.11 a/b/g/n Spotify Ps4 Sony EntertainmentHas Playstation 4 bluetooth/ethernet/ 802.11 a/b/g/n/ac Traffic NestLabs & DNS Nest Cam Security Has of dropcam Indoor cameracamera/microphone/ speaker/802.11 a/b/g/n nVidia GeForce nVidia Pc videocard Supports Display GTX 970M GeForce Port and HDMI GTX 970M

Based on the fingerprints and device profiles described above, the agent115 can be configured to monitor traffic in the WLAN 120 and determineif the monitored traffic constitutes expected behavior for each device131-136, for example, based on traffic attributes such as the content,sender/receiver address and/or port, correlation to a DNS server,cumulative volume of traffic, and packet sizes, among other attributes.

The present system for executing the functionality described in detailabove may be a computer, an example of which is shown in the schematicdiagram of FIG. 4 . The system 500 contains a processor 502, a storagedevice 504, a memory 506 having software 508 stored therein that definesthe abovementioned functionality, input and output (I/O) devices 510 (orperipherals), and a local bus, or local interface 512 allowing forcommunication within the system 500. The local interface 512 can be, forexample but not limited to, one or more buses or other wired or wirelessconnections, as is known in the art. The local interface 512 may haveadditional elements, which are omitted for simplicity, such ascontrollers, buffers (caches), drivers, repeaters, and receivers, toenable communications. Further, the local interface 512 may includeaddress, control, and/or data connections to enable appropriatecommunications among the aforementioned components.

The processor 502 is a hardware device for executing software,particularly that stored in the memory 506. The processor 502 can be anycustom made or commercially available single core or multi-coreprocessor, a central processing unit (CPU), an auxiliary processor amongseveral processors associated with the present system 500, asemiconductor based microprocessor (in the form of a microchip or chipset), a macroprocessor, or generally any device for executing softwareinstructions.

The memory 506 can include any one or combination of volatile memoryelements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM,etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape,CDROM, etc.). Moreover, the memory 506 may incorporate electronic,magnetic, optical, and/or other types of storage media. Note that thememory 506 can have a distributed architecture, where various componentsare situated remotely from one another, but can be accessed by theprocessor 502.

The software 508 defines functionality performed by the system 500, inaccordance with the present invention. The software 508 in the memory506 may include one or more separate programs, each of which contains anordered listing of executable instructions for implementing logicalfunctions of the system 500, as described below. The memory 506 maycontain an operating system (O/S) 520. The operating system essentiallycontrols the execution of programs within the system 500 and providesscheduling, input-output control, file and data management, memorymanagement, and communication control and related services.

The I/O devices 510 may include input devices, for example but notlimited to, a keyboard, mouse, scanner, microphone, etc. Furthermore,the I/O devices 510 may also include output devices, for example but notlimited to, a printer, display, etc. Finally, the I/O devices 510 mayfurther include devices that communicate via both inputs and outputs,for instance but not limited to, a modulator/demodulator (modem; foraccessing another device, system, or network), a radio frequency (RF) orother transceiver, a telephonic interface, a bridge, a router, or otherdevice.

When the system 500 is in operation, the processor 502 is configured toexecute the software 508 stored within the memory 506, to communicatedata to and from the memory 506, and to generally control operations ofthe system 500 pursuant to the software 508, as explained above.

When the functionality of the system 500 is in operation, the processor502 is configured to execute the software 508 stored within the memory506, to communicate data to and from the memory 506, and to generallycontrol operations of the system 500 pursuant to the software 508. Theoperating system 520 is read by the processor 502, perhaps bufferedwithin the processor 502, and then executed.

When the system 500 is implemented in software 508, it should be notedthat instructions for implementing the system 500 can be stored on anycomputer-readable medium for use by or in connection with anycomputer-related device, system, or method. Such a computer-readablemedium may, in some embodiments, correspond to either or both the memory506 or the storage device 504. In the context of this document, acomputer-readable medium is an electronic, magnetic, optical, or otherphysical device or means that can contain or store a computer programfor use by or in connection with a computer-related device, system, ormethod. Instructions for implementing the system can be embodied in anycomputer-readable medium for use by or in connection with the processoror other such instruction execution system, apparatus, or device.Although the processor 502 has been mentioned by way of example, suchinstruction execution system, apparatus, or device may, in someembodiments, be any computer-based system, processor-containing system,or other system that can fetch the instructions from the instructionexecution system, apparatus, or device and execute the instructions. Inthe context of this document, a “computer-readable medium” can be anymeans that can store, communicate, propagate, or transport the programfor use by or in connection with the processor or other such instructionexecution system, apparatus, or device.

Such a computer-readable medium can be, for example but not limited to,an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a nonexhaustive list) of the computer-readable mediumwould include the following: an electrical connection (electronic)having one or more wires, a portable computer diskette (magnetic), arandom access memory (RAM) (electronic), a read-only memory (ROM)(electronic), an erasable programmable read-only memory (EPROM, EEPROM,or Flash memory) (electronic), an optical fiber (optical), and aportable compact disc read-only memory (CDROM) (optical). Note that thecomputer-readable medium could even be paper or another suitable mediumupon which the program is printed, as the program can be electronicallycaptured, via for instance optical scanning of the paper or othermedium, then compiled, interpreted or otherwise processed in a suitablemanner if necessary, and then stored in a computer memory.

In an alternative embodiment, where the system 500 is implemented inhardware, the system 500 can be implemented with any or a combination ofthe following technologies, which are each well known in the art: adiscrete logic circuit(s) having logic gates for implementing logicfunctions upon data signals, an application specific integrated circuit(ASIC) having appropriate combinational logic gates, a programmable gatearray(s) (PGA), a field programmable gate array (FPGA), etc.

The above described embodiments may use machine learning to betteridentify the functionality of a device for determining expected behaviorand/or suspicious behavior. By comparison previous techniques may use asingle site rule for all devices. For example, a corpus of device dataregarding behavior for a large number of functioning devices may be usedto detect anomalous activity by another device of the same type. Theembodiments may attach a series of facets which make up a fingerprintallowing the embodiments to infer expected behavior for devices. Theembodiments may use more than one fingerprint to increase the confidenceof a match or identification.

Based on the expected behavior of an identified device, the embodimentsmay limit access to LAN and WAN resources, for example:

-   -   Full access—e.g.—desktop computer    -   only LAN access    -   only WAN access    -   limited LAN access, for example, allowing a Sonos speaker access        to a NAS, but not a printer

The embodiments may perform further tests on an identified device totest its behavior to identify an imposter, such as a malicious devicemasquerading as a benign device. For example, it may be possible todetermine if a suspect device is masquerading a known type of device bycomparing the traffic profile (fingerprint) of the suspect device withknown devices of this type.

The embodiments may identify a device model and its firmware forcorrelation to known vulnerabilities for that model and firmware. Thismay allow the embodiments to identify devices with vulnerabilities andhelp users patch those vulnerabilities. For example, a web based userinterface may provide a message alerting the user of an update to a LANattached device. For example, the user interface may indicate one of thedevices in the LAN has out of date firmware and then direct the user toa site for instructions how to download and patch the firmware for thatdevice. Similarly, the user interface may be updated to indicate that adevice in the LAN is sending/receiving anomalous traffic.

The embodiments may correlate traffic across all devices of the samemodel and firmware version and identify devices that are behaving in ananomalous manner by performing statistical analysis on that traffic.Specific embodiments may monitor traffic and perform additionalanalysis, for example, performing a fast Fourier transform (or otherfrequency domain analysis) to determine periodic behavior of thattraffic. This may identify a unique traffic fingerprint for that devicethat may be used to detect deviations from normal operation for thatdevice, for example, a nest protect smoke alarm.

Embodiments may identify a device type and its capabilities by analyzingthe traffic that the device sends and receives. For example by analyzingthe uploaded traffic profile, the embodiments may determine whether adevice 131-136 has a camera based on the photographic/video data in thetraffic to/from the device 131-136. For another example, some devices131-136 only send encrypted traffic and provide very little informationon the network about their type. Traffic analysis may be used todetermine the device type. For example, the difference between a nestthermostat, a nest camera, and a nest protect may be determined usingthis technique.

In summary it will be apparent to those skilled in the art that variousmodifications and variations can be made to the structure of the presentinvention without departing from the scope or spirit of the invention.In view of the foregoing, it is intended that the present inventioncover modifications and variations of this invention.

What is claimed is:
 1. A system for a local area network (LAN) incommunication with a first network, the LAN comprising a LAN router incommunication with a plurality of LAN network devices, the plurality ofLAN network devices in communication with a plurality of externalnetwork devices in the first network via the LAN router, the systemcomprising: a cloud server in communication with the first network, thecloud server further comprising a device attribute database andconfigured to receive telemetry data and fingerprint data and update thedevice attribute database; and an agent in communication with the cloudserver and the plurality of network devices via the LAN router, whereinthe agent comprises a processor and a memory configured to storenon-transitory instructions which, when executed, perform the steps of:examining LAN router network traffic between one of the plurality of LANnetwork devices and one of the plurality of external network devices;executing a scan of the plurality of LAN network devices; generating thefingerprint data based upon one of the group consisting of the networktraffic, the LAN network device scans, and the network traffic and theLAN network device scans; generating the telemetry data based upon oneof the group consisting of the network traffic, the LAN network devicescans, and the network traffic and the LAN network device scans; andsending the telemetry data and the fingerprint data to the cloud server.2. The system of claim 1, wherein the cloud server is further configuredto generate a fingerprint from one of the group consisting of thetelemetry data, the fingerprint data, and the telemetry data and thefingerprint data.
 3. The system of claim 1, wherein the cloud server isfurther configured to: associate the fingerprint with a device profileidentifier; compare the fingerprint to a stored fingerprint of a devicetype indicated by the device profile identifier; and determine if thefingerprint indicates anomalous behavior for the device type.
 4. Thesystem of claim 1, wherein the agent is resident within the LAN router.5. The system of claim 1, wherein the cloud server is further configuredto update a user interface to indicate the update the device attributedatabase.
 6. The system of claim 1, wherein the telemetry and/orfingerprint data comprises data measuring timing of traffic sent toand/or received by any of the plurality of LAN network devices.
 7. Aserver in communication with an agent in a local area network (LAN) viaa first network comprising a LAN router, the LAN comprising a pluralityof LAN network devices, in communication with a plurality of externalnetwork devices in the first network via the LAN router, the servercomprising: a device attribute database; and a processor and a memoryconfigured to store non-transitory instructions which, when executed,perform the steps of: requesting the agent perform a scan of one or moreof the plurality of LAN network devices; receiving telemetry data andfingerprint data from the agent regarding traffic addressed to ortransmitted by one of the plurality of LAN network devices; generating afingerprint for one of the plurality of LAN network devices from one ofthe group consisting of the telemetry data, the fingerprint data, andthe telemetry data and the fingerprint data; and storing the fingerprintin the device attribute database, wherein the telemetry data comprisesdata measuring timing of traffic sent to and/or received by any of theplurality of LAN network devices.
 8. The server of claim 7, wherein theserver is further configured to perform the steps of: associating thefingerprint with a device profile identifier; comparing the fingerprintto a stored fingerprint of a device type indicated by the device profileidentifier; and determining if the fingerprint indicates anomalousbehavior for the device type.
 9. A method for monitoring a plurality ofLAN network devices in a local area network (LAN) comprising a LANrouter in communication with a first network, the plurality of LANnetwork devices in communication via the first network with a pluralityof external network devices in the first network, the method comprisingthe steps of: examining LAN router network traffic between one of theplurality of LAN network devices and one of the plurality of externalnetwork devices; executing a scan of the plurality of LAN networkdevices; receiving telemetry data and fingerprint data regarding trafficbetween one of the plurality of LAN network devices and one of theplurality of external network devices; generating a fingerprint for oneof the plurality of LAN network devices from one of the group consistingof the telemetry data, the fingerprint data, and the telemetry data andthe fingerprint data; storing the fingerprint in the device attributedatabase; and associating the fingerprint with a device profileidentifier.
 10. The method of claim 9, further comprising the steps of:comparing the fingerprint to a stored fingerprint of a device typeindicated by the device profile identifier; and determining if thefingerprint indicates anomalous behavior for the device type.
 11. Themethod of claim 9, wherein the telemetry comprises data measuring timingof traffic sent to and/or received by any of the plurality of LANnetwork devices.
 12. An agent in a local area network (LAN) comprising aLAN router in communication with a server via a first network, the LANcomprising a plurality of LAN network devices in communication via thefirst network, the agent comprising: a processor and a memory configuredto store non-transitory instructions which, when executed, perform thesteps of: examining, via the LAN router, network traffic of theplurality of LAN network devices; executing a scan of the plurality ofLAN network devices; generating fingerprint data based upon one of thegroup consisting of the network traffic, the LAN network device scans,and the network traffic and the LAN network device scans; generatingtelemetry data based upon one of the group consisting of the networktraffic, the LAN network device scans, and the network traffic and theLAN network device scans; and sending the telemetry data and thefingerprint data to the cloud server.
 13. The agent of claim 12, whereinthe agent is resident within the LAN router.
 14. The agent of claim 12,wherein the telemetry comprises data measuring timing of traffic sent toand/or received by any of the plurality of LAN network devices.
 15. Asystem for a local area network (LAN) in communication with a firstnetwork, the LAN comprising a LAN router in communication with aplurality of LAN network devices, the plurality of LAN network devicesin communication via the first network, the system comprising: a cloudserver in communication with the first network, the cloud server furthercomprising a device attribute database and configured to receivetelemetry data and fingerprint data and update the device attributedatabase; and an agent in communication with the cloud server and theplurality of network devices via the LAN router, wherein the agentcomprises a processor and a memory configured to store non-transitoryinstructions which, when executed, perform the steps of: examining LANrouter network traffic between a first device of the plurality of LANnetwork devices and a second device of the plurality of LAN networkdevices; executing a scan of the plurality of LAN network devices;generating the fingerprint data based upon one of the group consistingof the network traffic, the LAN network device scans, and the networktraffic and the LAN network device scans; generating the telemetry databased upon one of the group consisting of the network traffic, the LANnetwork device scans, and the network traffic and the LAN network devicescans; and sending the telemetry data and the fingerprint data to thecloud server.
 16. The system of claim 15, wherein the cloud server isfurther configured to generate a fingerprint from one of the groupconsisting of the telemetry data, the fingerprint data, and thetelemetry data and the fingerprint data.
 17. The system of claim 15,wherein the cloud server is further configured to: associate thefingerprint with a device profile identifier; compare the fingerprint toa stored fingerprint of a device type indicated by the device profileidentifier; and determine if the fingerprint indicates anomalousbehavior for the device type.